www.gusucode.com > XerCMS 携云PHP企业建站程序 v2015PHP源码程序 > XerCMS 携云PHP企业建站程序 v2015/XerCMS_v20150724/XerCMS_v20150724/XerCMS/Library/XerCMS_dir.php
<?php /** * @name XERCMS * @author Arno <XerCMS@163.com> [QQ:1328013] * @version 1.0.0 * @link http://www.XerCMS.com */ !defined('XERCMS') && exit('Access Denied'); class DIR { var $path; var $list = array(); function __construct() { } function __toString () { return ''; } function __destory () {} static function mkdirs($path ,$mode = '0777') { if(isset($path{0}) == false) { return false; } if(strpos($path,'\\') !== false) { $path = strtr($path,array('\\'=>'/')); } //echo $path; if(strpos($path,'/') === 0) $path = substr($path,1);//echo $path.'<br/>'; $dirs = explode('/',$path);$dir = ''; foreach($dirs as $k=>$v) { if(empty($v)){ continue; } $dir .= $v.'/';//echo $dir."\r\n"; if(!is_dir($dir) && isset($dir{0})) {//echo '---'; mkdir(XERCMS.$dir, $mode);// or dir); function_exists('chmod') && chmod(XERCMS.$dir,0777); } //else echo 'ok'; } } function suffix($file) { $file = explode('.',$file); return $file[count($file) - 1]; } static function read($dir) { $list = array();$dir = XERCMS.$dir; if($handle = opendir($dir)) { while($name = readdir($handle)) { if($name != '.' && $name != '..' && is_dir($dir.'/'.$name)) { $list[] = $name; } } } return $list; } function filelist($dir,$type = '') { $file = true; if($handle = opendir($dir)) { while($file && $file = readdir($handle)) { if ($file != '.' && $file != '..') { if(empty($type) || $this->suffix($file) == $type) { $this->list[] = array('name'=>$file,'mtime'=>filemtime($dir.'/'.$file)); } } } closedir($handle);return $this->list; } else exit('Can not open the dir!'); } static function del($dir,$if = true,$sub = false) { self::deldir($dir,$if,$sub); } static function deldir($dir,$if = true,$sub = false) { if ($handle = opendir($dir)) { $file = true; while($file && $file = readdir($handle)) { if ($file != '.' && $file != '..') { $file = $dir.'/'.$file; if(is_dir($file)) { $sub && $this->deldir($file,$if); } else { if(!unlink($file)) { return false; } } } } closedir($handle); $if && rmdir($dir); return true; } else return false; } } ?>